#ifndef _NGX_MODULE_H_
#define _NGX_MODULE_H_

#include "NgxInclude.hpp"
#include "NgxModuleConfig.hpp"

template<typename T3 = void, typename T2 = void, typename T1 = void>
class NgxModule
{
private:
	using ConfigType = NgxModuleConfig<T3, T2, T1>;
private:
	ConfigType config_;
public:
	NgxModule(ngx_module_t &module) : config_(module.ctx_index)
	{}
	~NgxModule() = default;

	const ConfigType& config() const
	{
		return config_;
	}
};



#endif //!_NGX_MODULE_H_